Hello, 我是 Weber,一位工程師,斜槓鼓手與行銷顧問。
今天是每日一套件的第 15 天,繼續跟著我一起認識 Rails 開發好用的 30 個套件,建立出自己的常用套件庫吧!
是一個狀態管理的套件,幫助管理不同狀態。什麼叫做管理不同狀態呢?
這可能要先解釋一下,什麼是有限狀態機(finite state machines)是什麼?
指的是在“有限狀態”之間作轉移,直接舉個例子來說:
以電商訂單來說,確認訂單、付款、取消訂單、出貨、到貨、退貨、退款,這些應該都是要有前後順序的。
好比說,你一定要有訂單先,你才有可能取消訂單。你要先有出貨,你才有所謂的到貨。
還有另一個很常聽到的例子,開門 / 關門,你一定要先開門,才能關門;反過來門要先關起來,才能再開門。
這個時候就可以用 AASM 幫我們簡化定義狀態及控制的流程啦!
起手式一樣的 bundle add
bundle add aasm